草庐IT

Codeforces 1682 D Circular Spanning Tree

全部标签

「codeforces - 1394C」Boboniu and String

link。注意到BN-string长成什么样根本不重要,我们把它表述为BN-pair\((x,y)\)即可,两个BN-strings相似的充要条件即两者分别映射得到的BN-pairs相等。将BN-pairs放到平面上来研究,题目中给出的变换就对应\((x,y)\rightarrow(x\pm1,y),(x,y\pm1),(x\pm1,y\pm1)\),注意到在斜线方向上的移动只能同时加或减。我们可以用这样移动方式的所派生的\(\text{dist}(a,b)\)函数导出在平面上的「圆」(是一般意义下的hexagon),如下图二分「半径」\(r\)我们现在的问题就转化为了,判定原图上所有点以\(

「codeforces - 1394C」Boboniu and String

link。注意到BN-string长成什么样根本不重要,我们把它表述为BN-pair\((x,y)\)即可,两个BN-strings相似的充要条件即两者分别映射得到的BN-pairs相等。将BN-pairs放到平面上来研究,题目中给出的变换就对应\((x,y)\rightarrow(x\pm1,y),(x,y\pm1),(x\pm1,y\pm1)\),注意到在斜线方向上的移动只能同时加或减。我们可以用这样移动方式的所派生的\(\text{dist}(a,b)\)函数导出在平面上的「圆」(是一般意义下的hexagon),如下图二分「半径」\(r\)我们现在的问题就转化为了,判定原图上所有点以\(

Codeforces Round #845 (Div. 2) and ByteRace 2023 C-E

碎碎念这次a和b过的可能是有生以来最快的(?)然后写C写了一个多小时还没写出来(悲)最后剩不到二十分钟看了眼D,结果瞬间悟出了答案(属于是开题失误了)最后以最快速度写完,一抬头发现刚好时间到了(樂)属于是到手的紫名飞了呜呜C题题意思路比赛时没有注意到的一个重要性质是答案只与最大值和最小值相关,这是十分不应该的。注意到这一点后对所有smartness排序就成为了很自然的想法。接下来就是考虑对于左端点为l时维护当右端点r取到哪里时能凑出的topic的数目为m了,这可以利用双指针线性求出。D题题意大概就是说有个树,每个节点都可能是1或者是0,每过一秒所有节点的值都会变成它们儿子异或起来的值,叶子则会

Codeforces Round #845 (Div. 2) and ByteRace 2023 C-E

碎碎念这次a和b过的可能是有生以来最快的(?)然后写C写了一个多小时还没写出来(悲)最后剩不到二十分钟看了眼D,结果瞬间悟出了答案(属于是开题失误了)最后以最快速度写完,一抬头发现刚好时间到了(樂)属于是到手的紫名飞了呜呜C题题意思路比赛时没有注意到的一个重要性质是答案只与最大值和最小值相关,这是十分不应该的。注意到这一点后对所有smartness排序就成为了很自然的想法。接下来就是考虑对于左端点为l时维护当右端点r取到哪里时能凑出的topic的数目为m了,这可以利用双指针线性求出。D题题意大概就是说有个树,每个节点都可能是1或者是0,每过一秒所有节点的值都会变成它们儿子异或起来的值,叶子则会

[cf]Codeforces Round #784(Div 4)

由于一次比赛被虐得太惨,,生发开始写blog的想法,于是便有了这篇随笔(找了个近期的cf比赛练练手(bushi))第一次写blog,多多包涵。第二场cf比赛,第一场打的Div2,被虐太惨,所以第二场挑了个Div4...比赛链接:https://codeforces.com/contest/1669A.Division    翻译(参考):  t组样例,每组样例给出一个正整数,判断该整数所在的范围 题解:  签到题,分类讨论下即可B.Trip  翻译(参考):   t组样例,每组给出一个长度为n的数组,对每组样例输出一个在该数组中出现三次及三次以上的数字(可能有多个,输出任意一个就好),若不存在

[cf]Codeforces Round #784(Div 4)

由于一次比赛被虐得太惨,,生发开始写blog的想法,于是便有了这篇随笔(找了个近期的cf比赛练练手(bushi))第一次写blog,多多包涵。第二场cf比赛,第一场打的Div2,被虐太惨,所以第二场挑了个Div4...比赛链接:https://codeforces.com/contest/1669A.Division    翻译(参考):  t组样例,每组样例给出一个正整数,判断该整数所在的范围 题解:  签到题,分类讨论下即可B.Trip  翻译(参考):   t组样例,每组给出一个长度为n的数组,对每组样例输出一个在该数组中出现三次及三次以上的数字(可能有多个,输出任意一个就好),若不存在

CF1682F MCMF?

题意:费用流,其实bushi给你长为\(n\)的序列\(a\),\(b\)。\(a\)单增,\(b\)有正有负。\(q\)次询问\([l,r]\),保证\(\sum\limits_{i=l}^rb_i=0\),将区间\([l,r]\)中每个值当节点,\(b_i的连S,\(b_i>0\)的连T,容量为\(abs(b_i)\)。两两点连边,容量为inf,费用为\(abs(a_i-a_j)\)。问最小费用最大流。思路:显然有一个感性的贪心思路:每次尽量会去抵消前面最近的需要抵消的流量,抵消后自己剩余的留量就留给后面抵消。这样就可以从前枚举\(l~r\),考虑每个点贡献对前面流单位流量贡献\(a_i\

CF1682F MCMF?

题意:费用流,其实bushi给你长为\(n\)的序列\(a\),\(b\)。\(a\)单增,\(b\)有正有负。\(q\)次询问\([l,r]\),保证\(\sum\limits_{i=l}^rb_i=0\),将区间\([l,r]\)中每个值当节点,\(b_i的连S,\(b_i>0\)的连T,容量为\(abs(b_i)\)。两两点连边,容量为inf,费用为\(abs(a_i-a_j)\)。问最小费用最大流。思路:显然有一个感性的贪心思路:每次尽量会去抵消前面最近的需要抵消的流量,抵消后自己剩余的留量就留给后面抵消。这样就可以从前枚举\(l~r\),考虑每个点贡献对前面流单位流量贡献\(a_i\